﻿#pragma once

#include "IM_DataInterface.h"
#include "Utility.h"
#include <map>
#include <string>
#include <vector>
#include <fstream>

class IM_Account;


/******************************************/
//类名：IM_VirtualData
//创建时间 ：2018/5/20
//类型：singleton
//描述：实现data_interface
/******************************************/

class IM_VirtualData
	:public IM_DataInterface
{
private:
	IM_VirtualData();
	~IM_VirtualData();
	IM_VirtualData(const IM_VirtualData & o)=delete;
	IM_VirtualData(const IM_VirtualData && o)=delete;
	IM_VirtualData& operator=(const IM_VirtualData & o)=delete;
	
public:
	static IM_VirtualData * getInstance(){static IM_VirtualData c;return &c;}


public:
	bool   init_data();

	virtual bool getFriendVector(const std::string & number, std::vector<std::string > &friends_vec) override;

	virtual bool load_ac_all(std::map<std::string, IM_Account *> & ac_map) override;

private:

	std::string m_json_stream;
};





